<?php
class ProductoGruposController extends AppController {

	var $name = 'ProductoGrupos';
	var $appModule = 'Almacen';	
	var $helpers = array('Html','Form','Javascript','GetList');	
	      
	public function buscar($q = null){
		if(!empty($this->data['ProductoGrupo']['q'])){
			$q = $this->data['ProductoGrupo']['q'];
		} elseif (!empty($this->params['url']['q'])){
			$q = $this->params['url']['q'];
		} elseif (!empty($this->params['form']['q'])){
			$q = $this->params['form']['q'];
		}
						
		if(empty($q)){
			$result = array('Error'=>'No se establecieron los parámetros adecuadamente');
		} else {
			$conditions = array('ProductoGrupo.activo' => true);	
			$params = explode('_ID_', $q);			
			if( count($params) == 2){
				$conditions['ProductoGrupo.id'] = $params[1];
			} else {
				$conditions['OR']['ProductoGrupo.codigo iLike']='%'.strtoupper($q).'%';
				$conditions['OR']['ProductoGrupo.descripcion iLike']='%'.strtoupper($q).'%';
			}			
			
			$fields = array(
				'ProductoGrupo.id',				
				'ProductoGrupo.parent_id',	
				'ProductoGrupo.codigo',
				'ProductoGrupo.descripcion' );
			
			$this->ProductoGrupo->Behaviors->attach('Containable');
			$result = $this->ProductoGrupo->find('all', array(
				'conditions' => $conditions,
				'recursive'=>-1,
				'fields' => $fields,
				'order'=>array('ProductoGrupo.descripcion ASC')));
					
		}		
		//definiendo valores en caso q sea una petici�n para autocompletado
		if(!empty($this->params['url']['autocomplete']) || !empty($this->params['form']['autocomplete'])){
			$res = array();
			foreach($result as $value){
				$res[] = array('value'=>'_ID_'.$value['ProductoGrupo']['id'], 'display'=>'<span style="color:gray;font-size:.9em">'.$value['ProductoGrupo']['codigo'].'</span><div style="float:right;font-size:.8em" title="'.$value['ProductoGrupo']['descripcion'].'">'. $this->neat_trim($value['ProductoGrupo']['descripcion'], 24) .'</div>');
			}
			$result = $res;
		}
		
		if ($this->RequestHandler->isAjax()){			
			if(empty($result)){
				$result = array('error'=>'No se encontraron datos');
			}
			$this->_ajaxify($result);
		} else {			
			return $result;
		}		
	}

}
?>